﻿2026-06-04T00:09:18.2901050Z ##[group]Run ./traceable-reqs lint || true
2026-06-04T00:09:18.2901244Z [36;1m./traceable-reqs lint || true[0m
2026-06-04T00:09:18.2923846Z shell: /usr/bin/bash -e {0}
2026-06-04T00:09:18.2923934Z ##[endgroup]
2026-06-04T00:09:18.3029631Z Requirement quality findings (15); 126 requirements queued for agent review:
2026-06-04T00:09:18.3030259Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T00:09:18.3030627Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-04T00:09:18.3031482Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T00:09:18.3032215Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T00:09:18.3032763Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-04T00:09:18.3033349Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-04T00:09:18.3034044Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T00:09:18.3034785Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T00:09:18.3035581Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-04T00:09:18.3035969Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-04T00:09:18.3048348Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-04T00:09:18.3048790Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T00:09:18.3049194Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-04T00:09:18.3049464Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-04T00:09:18.3049725Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-04T00:09:18.3049733Z 
2026-06-04T00:09:18.3049837Z # Requirement quality review
2026-06-04T00:09:18.3049844Z 
2026-06-04T00:09:18.3050031Z You are reviewing 126 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-04T00:09:18.3050228Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-04T00:09:18.3050412Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-04T00:09:18.3050562Z this command's output. Your task is the rubric items below.
2026-06-04T00:09:18.3050576Z 
2026-06-04T00:09:18.3050653Z ## Rubric
2026-06-04T00:09:18.3050661Z 
2026-06-04T00:09:18.3051225Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-04T00:09:18.3051600Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-04T00:09:18.3051929Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-04T00:09:18.3052155Z - **active-voice** — clear subject and active verb.
2026-06-04T00:09:18.3052197Z 
2026-06-04T00:09:18.3052551Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-04T00:09:18.3052670Z clear concerns.
2026-06-04T00:09:18.3052682Z 
2026-06-04T00:09:18.3052787Z ## Requirements
2026-06-04T00:09:18.3052797Z 
2026-06-04T00:09:18.3052911Z ### REQ-ARCH-1
2026-06-04T00:09:18.3053068Z - Title: Many small acyclically-layered crates
2026-06-04T00:09:18.3053284Z - Required stages: impl
2026-06-04T00:09:18.3053292Z 
2026-06-04T00:09:18.3053369Z ### REQ-ARCH-2
2026-06-04T00:09:18.3053702Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-04T00:09:18.3053792Z - Required stages: impl
2026-06-04T00:09:18.3053798Z 
2026-06-04T00:09:18.3053879Z ### REQ-ARCH-3
2026-06-04T00:09:18.3054059Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-04T00:09:18.3054152Z - Required stages: impl, unit
2026-06-04T00:09:18.3054159Z 
2026-06-04T00:09:18.3054231Z ### REQ-ARCH-4
2026-06-04T00:09:18.3054386Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-04T00:09:18.3054477Z - Required stages: impl, unit
2026-06-04T00:09:18.3054491Z 
2026-06-04T00:09:18.3054563Z ### REQ-DAEMON-1
2026-06-04T00:09:18.3054712Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-04T00:09:18.3054803Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3054811Z 
2026-06-04T00:09:18.3054888Z ### REQ-DAEMON-2
2026-06-04T00:09:18.3055003Z - Title: Broker/brain split for seamless self-update
2026-06-04T00:09:18.3055102Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3055108Z 
2026-06-04T00:09:18.3055186Z ### REQ-DAEMON-3
2026-06-04T00:09:18.3055317Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-04T00:09:18.3055405Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3055411Z 
2026-06-04T00:09:18.3055483Z ### REQ-DAEMON-4
2026-06-04T00:09:18.3055591Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-04T00:09:18.3055679Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3055785Z 
2026-06-04T00:09:18.3055859Z ### REQ-STORE-1
2026-06-04T00:09:18.3056702Z - Title: spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)
2026-06-04T00:09:18.3056787Z - Required stages: 
2026-06-04T00:09:18.3056801Z 
2026-06-04T00:09:18.3056884Z ### REQ-MANIFEST-1
2026-06-04T00:09:18.3057055Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-04T00:09:18.3057141Z - Required stages: doc, impl, unit
2026-06-04T00:09:18.3057148Z 
2026-06-04T00:09:18.3057229Z ### REQ-SEAM-SPAWN
2026-06-04T00:09:18.3057312Z - Title: spawn-session seam
2026-06-04T00:09:18.3057403Z - Required stages: impl, unit
2026-06-04T00:09:18.3057410Z 
2026-06-04T00:09:18.3057497Z ### REQ-SEAM-POSTSPAWN
2026-06-04T00:09:18.3057610Z - Title: post-spawn / api bind seam with boot nonce
2026-06-04T00:09:18.3057702Z - Required stages: impl, unit
2026-06-04T00:09:18.3057708Z 
2026-06-04T00:09:18.3057786Z ### REQ-SEAM-PSYCHE
2026-06-04T00:09:18.3057908Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-04T00:09:18.3057996Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3058002Z 
2026-06-04T00:09:18.3058080Z ### REQ-SEAM-HISTORY
2026-06-04T00:09:18.3058240Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-04T00:09:18.3058326Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3058333Z 
2026-06-04T00:09:18.3058417Z ### REQ-SEAM-ACTIVITY
2026-06-04T00:09:18.3058578Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-04T00:09:18.3058661Z - Required stages: impl, unit
2026-06-04T00:09:18.3058667Z 
2026-06-04T00:09:18.3058752Z ### REQ-SEAM-INJECT
2026-06-04T00:09:18.3058890Z - Title: inject-input methods configurable per activity-state
2026-06-04T00:09:18.3058981Z - Required stages: impl, unit
2026-06-04T00:09:18.3058990Z 
2026-06-04T00:09:18.3059071Z ### REQ-SEAM-RESUME
2026-06-04T00:09:18.3059223Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-04T00:09:18.3059313Z - Required stages: impl, unit
2026-06-04T00:09:18.3059320Z 
2026-06-04T00:09:18.3059400Z ### REQ-SEAM-CAPABILITY
2026-06-04T00:09:18.3059530Z - Title: Hostable endpoint-types capability declaration
2026-06-04T00:09:18.3059617Z - Required stages: impl, unit
2026-06-04T00:09:18.3059628Z 
2026-06-04T00:09:18.3059788Z ### REQ-SEAM-UPDATE
2026-06-04T00:09:18.3059936Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-04T00:09:18.3060020Z - Required stages: impl, unit
2026-06-04T00:09:18.3060026Z 
2026-06-04T00:09:18.3060107Z ### REQ-API-1
2026-06-04T00:09:18.3060256Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-04T00:09:18.3060353Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3060360Z 
2026-06-04T00:09:18.3060438Z ### REQ-API-2
2026-06-04T00:09:18.3060620Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-04T00:09:18.3060710Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3060716Z 
2026-06-04T00:09:18.3060953Z ### REQ-API-3
2026-06-04T00:09:18.3061093Z - Title: commune/signoff are file-drops, not commands
2026-06-04T00:09:18.3061185Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3061191Z 
2026-06-04T00:09:18.3061263Z ### REQ-START-1
2026-06-04T00:09:18.3061437Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-04T00:09:18.3061527Z - Required stages: impl, unit
2026-06-04T00:09:18.3061534Z 
2026-06-04T00:09:18.3061611Z ### REQ-START-2
2026-06-04T00:09:18.3061731Z - Title: Harness-hosted startup: api seed then listen
2026-06-04T00:09:18.3061817Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3061823Z 
2026-06-04T00:09:18.3061903Z ### REQ-START-3
2026-06-04T00:09:18.3062047Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-04T00:09:18.3062239Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3062245Z 
2026-06-04T00:09:18.3062322Z ### REQ-START-4
2026-06-04T00:09:18.3062436Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-04T00:09:18.3062529Z - Required stages: impl, unit
2026-06-04T00:09:18.3062535Z 
2026-06-04T00:09:18.3062606Z ### REQ-EP-1
2026-06-04T00:09:18.3062723Z - Title: Day-one endpoint types; open type system
2026-06-04T00:09:18.3062807Z - Required stages: impl, unit
2026-06-04T00:09:18.3062822Z 
2026-06-04T00:09:18.3062895Z ### REQ-EP-2
2026-06-04T00:09:18.3063042Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-04T00:09:18.3063127Z - Required stages: impl, unit
2026-06-04T00:09:18.3063134Z 
2026-06-04T00:09:18.3063213Z ### REQ-EP-3
2026-06-04T00:09:18.3063371Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-04T00:09:18.3063464Z - Required stages: impl, unit
2026-06-04T00:09:18.3063470Z 
2026-06-04T00:09:18.3063545Z ### REQ-EP-4
2026-06-04T00:09:18.3063671Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-04T00:09:18.3063756Z - Required stages: 
2026-06-04T00:09:18.3063762Z 
2026-06-04T00:09:18.3063833Z ### REQ-EP-5
2026-06-04T00:09:18.3064463Z - Title: Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope
2026-06-04T00:09:18.3064546Z - Required stages: 
2026-06-04T00:09:18.3064556Z 
2026-06-04T00:09:18.3064628Z ### REQ-INST-1
2026-06-04T00:09:18.3064770Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-04T00:09:18.3064847Z - Required stages: 
2026-06-04T00:09:18.3064853Z 
2026-06-04T00:09:18.3064931Z ### REQ-INST-2
2026-06-04T00:09:18.3065034Z - Title: Per-node files, synced Psyche mind
2026-06-04T00:09:18.3065110Z - Required stages: 
2026-06-04T00:09:18.3065116Z 
2026-06-04T00:09:18.3065194Z ### REQ-INST-3
2026-06-04T00:09:18.3065319Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-04T00:09:18.3065409Z - Required stages: 
2026-06-04T00:09:18.3065415Z 
2026-06-04T00:09:18.3065492Z ### REQ-INST-4
2026-06-04T00:09:18.3065646Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-04T00:09:18.3065730Z - Required stages: 
2026-06-04T00:09:18.3065736Z 
2026-06-04T00:09:18.3065808Z ### REQ-INST-5
2026-06-04T00:09:18.3065966Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-04T00:09:18.3066191Z - Required stages: 
2026-06-04T00:09:18.3066204Z 
2026-06-04T00:09:18.3066280Z ### REQ-INST-6
2026-06-04T00:09:18.3066445Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-04T00:09:18.3066518Z - Required stages: 
2026-06-04T00:09:18.3066524Z 
2026-06-04T00:09:18.3066604Z ### REQ-INST-7
2026-06-04T00:09:18.3066721Z - Title: Subnet registry + bare-id resolution policy
2026-06-04T00:09:18.3066814Z - Required stages: impl, unit
2026-06-04T00:09:18.3066821Z 
2026-06-04T00:09:18.3066902Z ### REQ-INST-8
2026-06-04T00:09:18.3067034Z - Title: Remote-control mode distinct from local operation
2026-06-04T00:09:18.3067116Z - Required stages: 
2026-06-04T00:09:18.3067122Z 
2026-06-04T00:09:18.3067195Z ### REQ-INST-9
2026-06-04T00:09:18.3067361Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-04T00:09:18.3067451Z - Required stages: impl, unit
2026-06-04T00:09:18.3067458Z 
2026-06-04T00:09:18.3067531Z ### REQ-INST-10
2026-06-04T00:09:18.3067720Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-04T00:09:18.3067803Z - Required stages: impl, unit
2026-06-04T00:09:18.3067810Z 
2026-06-04T00:09:18.3067891Z ### REQ-INST-11
2026-06-04T00:09:18.3068081Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-04T00:09:18.3068164Z - Required stages: impl, unit
2026-06-04T00:09:18.3068171Z 
2026-06-04T00:09:18.3068248Z ### REQ-INST-12
2026-06-04T00:09:18.3068503Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-04T00:09:18.3068668Z - Required stages: impl, unit
2026-06-04T00:09:18.3068675Z 
2026-06-04T00:09:18.3068755Z ### REQ-INST-13
2026-06-04T00:09:18.3068912Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-04T00:09:18.3069003Z - Required stages: impl, unit
2026-06-04T00:09:18.3069009Z 
2026-06-04T00:09:18.3069082Z ### REQ-INST-14
2026-06-04T00:09:18.3069428Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-04T00:09:18.3069515Z - Required stages: 
2026-06-04T00:09:18.3069521Z 
2026-06-04T00:09:18.3069592Z ### REQ-INST-15
2026-06-04T00:09:18.3070262Z - Title: Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)
2026-06-04T00:09:18.3070344Z - Required stages: 
2026-06-04T00:09:18.3070352Z 
2026-06-04T00:09:18.3070433Z ### REQ-REACH-1
2026-06-04T00:09:18.3070562Z - Title: Off-node remote-drive detection + file transfer
2026-06-04T00:09:18.3070639Z - Required stages: 
2026-06-04T00:09:18.3070645Z 
2026-06-04T00:09:18.3070724Z ### REQ-REACH-2
2026-06-04T00:09:18.3071049Z - Title: Remote command execution (deferred, consent-gated)
2026-06-04T00:09:18.3071168Z - Required stages: 
2026-06-04T00:09:18.3071182Z 
2026-06-04T00:09:18.3071291Z ### REQ-MSG-1
2026-06-04T00:09:18.3071713Z - Title: Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)
2026-06-04T00:09:18.3071813Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3071820Z 
2026-06-04T00:09:18.3071890Z ### REQ-MSG-2
2026-06-04T00:09:18.3072138Z - Title: spt binary CLI surface: send/ring/ready/poll/list/stop/whoami, stable arg shapes + exit codes
2026-06-04T00:09:18.3072235Z - Required stages: impl, unit
2026-06-04T00:09:18.3072241Z 
2026-06-04T00:09:18.3072311Z ### REQ-MSG-3
2026-06-04T00:09:18.3072664Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-04T00:09:18.3072753Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3072760Z 
2026-06-04T00:09:18.3072846Z ### REQ-NODE-IDENTITY
2026-06-04T00:09:18.3073157Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-04T00:09:18.3073242Z - Required stages: impl, unit
2026-06-04T00:09:18.3073249Z 
2026-06-04T00:09:18.3073326Z ### REQ-NET-1
2026-06-04T00:09:18.3073480Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-04T00:09:18.3073569Z - Required stages: impl, unit
2026-06-04T00:09:18.3073575Z 
2026-06-04T00:09:18.3073651Z ### REQ-NET-2
2026-06-04T00:09:18.3073808Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-04T00:09:18.3073896Z - Required stages: impl
2026-06-04T00:09:18.3073903Z 
2026-06-04T00:09:18.3073974Z ### REQ-NET-3
2026-06-04T00:09:18.3074126Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-04T00:09:18.3074215Z - Required stages: 
2026-06-04T00:09:18.3074221Z 
2026-06-04T00:09:18.3074297Z ### REQ-PAIR-1
2026-06-04T00:09:18.3074396Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-04T00:09:18.3074482Z - Required stages: impl, unit
2026-06-04T00:09:18.3074492Z 
2026-06-04T00:09:18.3074576Z ### REQ-PAIR-2
2026-06-04T00:09:18.3074693Z - Title: Local trust store with TOFU + warn-on-change
2026-06-04T00:09:18.3074781Z - Required stages: impl, unit
2026-06-04T00:09:18.3074788Z 
2026-06-04T00:09:18.3074864Z ### REQ-PAIR-3
2026-06-04T00:09:18.3074988Z - Title: Fetch current pairing code from any paired node
2026-06-04T00:09:18.3075082Z - Required stages: impl, unit
2026-06-04T00:09:18.3075088Z 
2026-06-04T00:09:18.3075164Z ### REQ-PAIR-4
2026-06-04T00:09:18.3075366Z - Title: Subnet naming on first pairing
2026-06-04T00:09:18.3075454Z - Required stages: impl, unit
2026-06-04T00:09:18.3075460Z 
2026-06-04T00:09:18.3075534Z ### REQ-PAIR-5
2026-06-04T00:09:18.3075829Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-04T00:09:18.3075917Z - Required stages: impl, unit
2026-06-04T00:09:18.3075924Z 
2026-06-04T00:09:18.3076005Z ### REQ-PAIR-6
2026-06-04T00:09:18.3076237Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-04T00:09:18.3076326Z - Required stages: impl, unit
2026-06-04T00:09:18.3076332Z 
2026-06-04T00:09:18.3076411Z ### REQ-PAIR-7
2026-06-04T00:09:18.3076548Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-04T00:09:18.3076632Z - Required stages: 
2026-06-04T00:09:18.3076639Z 
2026-06-04T00:09:18.3076715Z ### REQ-SEC-1
2026-06-04T00:09:18.3077080Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-04T00:09:18.3077172Z - Required stages: 
2026-06-04T00:09:18.3077178Z 
2026-06-04T00:09:18.3077258Z ### REQ-NOTIF-1
2026-06-04T00:09:18.3077595Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-04T00:09:18.3077680Z - Required stages: 
2026-06-04T00:09:18.3077686Z 
2026-06-04T00:09:18.3077759Z ### REQ-NOTIF-2
2026-06-04T00:09:18.3078001Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-04T00:09:18.3078078Z - Required stages: 
2026-06-04T00:09:18.3078085Z 
2026-06-04T00:09:18.3078165Z ### REQ-UPD-1
2026-06-04T00:09:18.3078269Z - Title: Peer-propagated update over P2P
2026-06-04T00:09:18.3078346Z - Required stages: 
2026-06-04T00:09:18.3078352Z 
2026-06-04T00:09:18.3078430Z ### REQ-UPD-2
2026-06-04T00:09:18.3078550Z - Title: All binaries signature-verified before handoff
2026-06-04T00:09:18.3078643Z - Required stages: impl, unit
2026-06-04T00:09:18.3078650Z 
2026-06-04T00:09:18.3078728Z ### REQ-UPD-3
2026-06-04T00:09:18.3078876Z - Title: No endpoint process terminates/suspends during self-update
2026-06-04T00:09:18.3078973Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3078979Z 
2026-06-04T00:09:18.3079051Z ### REQ-UPD-4
2026-06-04T00:09:18.3079213Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-04T00:09:18.3079362Z - Required stages: impl, unit
2026-06-04T00:09:18.3079375Z 
2026-06-04T00:09:18.3079448Z ### REQ-UPD-5
2026-06-04T00:09:18.3079574Z - Title: spt-core ripple-updates registered adapters
2026-06-04T00:09:18.3079655Z - Required stages: impl, unit
2026-06-04T00:09:18.3079661Z 
2026-06-04T00:09:18.3079740Z ### REQ-TERM-1
2026-06-04T00:09:18.3079887Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-04T00:09:18.3079977Z - Required stages: impl, unit
2026-06-04T00:09:18.3079984Z 
2026-06-04T00:09:18.3080064Z ### REQ-TERM-2
2026-06-04T00:09:18.3080215Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-04T00:09:18.3080302Z - Required stages: impl, unit
2026-06-04T00:09:18.3080308Z 
2026-06-04T00:09:18.3080380Z ### REQ-TERM-3
2026-06-04T00:09:18.3080502Z - Title: Byte-stream remote terminal streaming for v1
2026-06-04T00:09:18.3080593Z - Required stages: impl, unit
2026-06-04T00:09:18.3080599Z 
2026-06-04T00:09:18.3080672Z ### REQ-TERM-4
2026-06-04T00:09:18.3081151Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-04T00:09:18.3081244Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3081251Z 
2026-06-04T00:09:18.3081332Z ### REQ-FRONT-1
2026-06-04T00:09:18.3081487Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-04T00:09:18.3081564Z - Required stages: 
2026-06-04T00:09:18.3081570Z 
2026-06-04T00:09:18.3081652Z ### REQ-INSTALL-1
2026-06-04T00:09:18.3081822Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-04T00:09:18.3082005Z - Required stages: 
2026-06-04T00:09:18.3082013Z 
2026-06-04T00:09:18.3082092Z ### REQ-INSTALL-2
2026-06-04T00:09:18.3082210Z - Title: Marketplace-repackaging-friendly install
2026-06-04T00:09:18.3082291Z - Required stages: 
2026-06-04T00:09:18.3082297Z 
2026-06-04T00:09:18.3082370Z ### REQ-INSTALL-3
2026-06-04T00:09:18.3082493Z - Title: Idempotent + interactive-optional first run
2026-06-04T00:09:18.3082570Z - Required stages: 
2026-06-04T00:09:18.3082584Z 
2026-06-04T00:09:18.3082657Z ### REQ-INSTALL-4
2026-06-04T00:09:18.3083251Z - Title: Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over
2026-06-04T00:09:18.3083326Z - Required stages: 
2026-06-04T00:09:18.3083333Z 
2026-06-04T00:09:18.3083413Z ### REQ-MIGRATE-1
2026-06-04T00:09:18.3083567Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-04T00:09:18.3083643Z - Required stages: 
2026-06-04T00:09:18.3083649Z 
2026-06-04T00:09:18.3083730Z ### REQ-INFRA-1
2026-06-04T00:09:18.3083883Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-04T00:09:18.3083965Z - Required stages: 
2026-06-04T00:09:18.3083971Z 
2026-06-04T00:09:18.3084043Z ### REQ-DOCS-1
2026-06-04T00:09:18.3084220Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-04T00:09:18.3084303Z - Required stages: 
2026-06-04T00:09:18.3084309Z 
2026-06-04T00:09:18.3084381Z ### REQ-DOCS-2
2026-06-04T00:09:18.3084527Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-04T00:09:18.3084603Z - Required stages: 
2026-06-04T00:09:18.3084609Z 
2026-06-04T00:09:18.3084688Z ### REQ-DOCS-3
2026-06-04T00:09:18.3084916Z - Title: Diátaxis structure; one canonical way to do X
2026-06-04T00:09:18.3084996Z - Required stages: 
2026-06-04T00:09:18.3085007Z 
2026-06-04T00:09:18.3085088Z ### REQ-DOCS-4
2026-06-04T00:09:18.3085259Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-04T00:09:18.3085345Z - Required stages: 
2026-06-04T00:09:18.3085352Z 
2026-06-04T00:09:18.3085432Z ### REQ-DOCS-5
2026-06-04T00:09:18.3085602Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-04T00:09:18.3085682Z - Required stages: 
2026-06-04T00:09:18.3085688Z 
2026-06-04T00:09:18.3085781Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-04T00:09:18.3086047Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-04T00:09:18.3086138Z - Required stages: impl, unit
2026-06-04T00:09:18.3086146Z 
2026-06-04T00:09:18.3086238Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-04T00:09:18.3086371Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-04T00:09:18.3086454Z - Required stages: impl, unit
2026-06-04T00:09:18.3086460Z 
2026-06-04T00:09:18.3086556Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-04T00:09:18.3086676Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-04T00:09:18.3086751Z - Required stages: 
2026-06-04T00:09:18.3086758Z 
2026-06-04T00:09:18.3086847Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-04T00:09:18.3087003Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-04T00:09:18.3087094Z - Required stages: impl, unit
2026-06-04T00:09:18.3087101Z 
2026-06-04T00:09:18.3087185Z ### REQ-HAZARD-WORKER-PATH
2026-06-04T00:09:18.3087344Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-04T00:09:18.3087434Z - Required stages: impl, unit
2026-06-04T00:09:18.3087441Z 
2026-06-04T00:09:18.3087536Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-04T00:09:18.3087698Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-04T00:09:18.3087774Z - Required stages: 
2026-06-04T00:09:18.3087780Z 
2026-06-04T00:09:18.3087873Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-04T00:09:18.3087988Z - Title: Stdin session_id precedence over env (2.2)
2026-06-04T00:09:18.3088136Z - Required stages: 
2026-06-04T00:09:18.3088142Z 
2026-06-04T00:09:18.3088240Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-04T00:09:18.3088377Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-04T00:09:18.3088467Z - Required stages: impl, unit
2026-06-04T00:09:18.3088473Z 
2026-06-04T00:09:18.3088566Z ### REQ-HAZARD-GEN-START-NOW
2026-06-04T00:09:18.3088686Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-04T00:09:18.3088781Z - Required stages: impl, int
2026-06-04T00:09:18.3088788Z 
2026-06-04T00:09:18.3088876Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-04T00:09:18.3089022Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-04T00:09:18.3089112Z - Required stages: impl, unit
2026-06-04T00:09:18.3089118Z 
2026-06-04T00:09:18.3089214Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-04T00:09:18.3089363Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-04T00:09:18.3089451Z - Required stages: impl, unit
2026-06-04T00:09:18.3089460Z 
2026-06-04T00:09:18.3089558Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-04T00:09:18.3089724Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-04T00:09:18.3089805Z - Required stages: impl, unit
2026-06-04T00:09:18.3089811Z 
2026-06-04T00:09:18.3089910Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-04T00:09:18.3090040Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-04T00:09:18.3090129Z - Required stages: impl, unit
2026-06-04T00:09:18.3090138Z 
2026-06-04T00:09:18.3090237Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-04T00:09:18.3090388Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-04T00:09:18.3090478Z - Required stages: impl, unit
2026-06-04T00:09:18.3090485Z 
2026-06-04T00:09:18.3090574Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-04T00:09:18.3090905Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-04T00:09:18.3090996Z - Required stages: impl, unit
2026-06-04T00:09:18.3091006Z 
2026-06-04T00:09:18.3091089Z ### REQ-HAZARD-ID-CHARSET
2026-06-04T00:09:18.3091320Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-04T00:09:18.3091403Z - Required stages: impl, unit
2026-06-04T00:09:18.3091409Z 
2026-06-04T00:09:18.3091507Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-04T00:09:18.3091674Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-04T00:09:18.3091889Z - Required stages: impl, unit
2026-06-04T00:09:18.3091896Z 
2026-06-04T00:09:18.3091991Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-04T00:09:18.3092213Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-04T00:09:18.3092303Z - Required stages: impl, unit
2026-06-04T00:09:18.3092310Z 
2026-06-04T00:09:18.3092402Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-04T00:09:18.3092828Z - Title: Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)
2026-06-04T00:09:18.3092932Z - Required stages: impl, unit
2026-06-04T00:09:18.3092938Z 
2026-06-04T00:09:18.3097802Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-04T00:09:18.3098031Z - Title: Deferred rows survive poll drain (4.4)
2026-06-04T00:09:18.3098131Z - Required stages: impl, unit
2026-06-04T00:09:18.3098139Z 
2026-06-04T00:09:18.3098241Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-04T00:09:18.3098375Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-04T00:09:18.3098474Z - Required stages: impl, unit
2026-06-04T00:09:18.3098481Z 
2026-06-04T00:09:18.3098581Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-04T00:09:18.3098733Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-04T00:09:18.3098829Z - Required stages: impl, unit
2026-06-04T00:09:18.3098835Z 
2026-06-04T00:09:18.3098925Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-04T00:09:18.3099077Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-04T00:09:18.3099332Z - Required stages: impl, unit
2026-06-04T00:09:18.3099338Z 
2026-06-04T00:09:18.3099427Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-04T00:09:18.3099560Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-04T00:09:18.3099649Z - Required stages: impl, unit
2026-06-04T00:09:18.3099656Z 
2026-06-04T00:09:18.3099740Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-04T00:09:18.3099876Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-04T00:09:18.3099955Z - Required stages: impl, unit
2026-06-04T00:09:18.3099966Z 
2026-06-04T00:09:18.3100067Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-04T00:09:18.3100259Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-04T00:09:18.3100347Z - Required stages: impl, unit
2026-06-04T00:09:18.3100354Z 
2026-06-04T00:09:18.3100444Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-04T00:09:18.3100609Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-04T00:09:18.3100701Z - Required stages: impl, unit
2026-06-04T00:09:18.3100711Z 
2026-06-04T00:09:18.3101036Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-04T00:09:18.3101195Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-04T00:09:18.3101284Z - Required stages: impl, unit
2026-06-04T00:09:18.3101291Z 
2026-06-04T00:09:18.3101390Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-04T00:09:18.3101554Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-04T00:09:18.3101637Z - Required stages: impl, unit
2026-06-04T00:09:18.3101654Z 
2026-06-04T00:09:18.3101750Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-04T00:09:18.3101951Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-04T00:09:18.3102040Z - Required stages: impl, unit
2026-06-04T00:09:18.3102046Z 
2026-06-04T00:09:18.3102136Z ### REQ-HAZARD-CONPTY-DSR
2026-06-04T00:09:18.3102323Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-04T00:09:18.3102413Z - Required stages: impl, unit
2026-06-04T00:09:18.3102425Z 
2026-06-04T00:09:18.3102516Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-04T00:09:18.3102698Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-04T00:09:18.3102788Z - Required stages: impl, unit
2026-06-04T00:09:18.3102794Z 
2026-06-04T00:09:18.3102883Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-04T00:09:18.3103120Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-04T00:09:18.3103328Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3103335Z 
2026-06-04T00:09:18.3103421Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-04T00:09:18.3103655Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-04T00:09:18.3103739Z - Required stages: impl, unit
2026-06-04T00:09:18.3103754Z 
2026-06-04T00:09:18.3103849Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-04T00:09:18.3104243Z - Title: Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)
2026-06-04T00:09:18.3104354Z - Required stages: impl, unit, int
2026-06-04T00:09:18.3104361Z 
2026-06-04T00:09:18.3104465Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-04T00:09:18.3105311Z - Title: Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)
2026-06-04T00:09:18.3105405Z - Required stages: 
2026-06-04T00:09:18.3105412Z 
2026-06-04T00:09:18.3105515Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-04T00:09:18.3106127Z - Title: Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)
2026-06-04T00:09:18.3106212Z - Required stages: 
2026-06-04T00:09:18.3106328Z 
2026-06-04T00:09:18.3106431Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-04T00:09:18.3107069Z - Title: Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)
2026-06-04T00:09:18.3107161Z - Required stages: impl, unit
2026-06-04T00:09:18.3107168Z 
2026-06-04T00:09:18.3107262Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-04T00:09:18.3107753Z - Title: Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)
2026-06-04T00:09:18.3107848Z - Required stages: impl, unit
2026-06-04T00:09:18.3107855Z 
2026-06-04T00:09:18.3107943Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-04T00:09:18.3108807Z - Title: Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)
2026-06-04T00:09:18.3108904Z - Required stages: impl, unit
2026-06-04T00:09:18.3108911Z 
2026-06-04T00:09:18.3108989Z ## How to report back
2026-06-04T00:09:18.3108996Z 
2026-06-04T00:09:18.3109154Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-04T00:09:18.3109162Z 
2026-06-04T00:09:18.3109233Z     {
2026-06-04T00:09:18.3109326Z       "code": "requirement_quality",
2026-06-04T00:09:18.3109417Z       "requirementId": "REQ-...",
2026-06-04T00:09:18.3109569Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-04T00:09:18.3109660Z       "message": "<short reason>",
2026-06-04T00:09:18.3109765Z       "suggestedRevision": "<optional rewrite>"
2026-06-04T00:09:18.3109841Z     }
2026-06-04T00:09:18.3109847Z 
2026-06-04T00:09:18.3110017Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-04T00:09:18.3110148Z deterministic findings above don't need to be repeated.
